home *** CD-ROM | disk | FTP | other *** search
- /*==============================================================================
-
- FICHERO: TECLAS.H
-
- AUTOR: ANTONIO LADESA JURADO
-
- FECHA: 24/6/94
-
- DESCRIPCION:
-
- Fichero de cabecera del módulo TECLAS.C
-
- Declara las constantes, estructuras, variables y funciones de control
- de eventos y visualización de teclas, textos y mensajes ofrecidas por
- dicho módulo.
-
- ==============================================================================*/
-
- /* eventos */
- #define NO_EVENTO 0
-
- /* codigos de teclado */
- #define ARRIBA 328
- #define ABAJO 336
- #define IZQ 331
- #define DER 333
- #define ORIGEN 327
- #define FIN 335
- #define PGARR 329
- #define PGABJ 337
- #define INSERT 338
- #define BORRAR 339
- #define DEL 8
- #define ESC 27
- #define RET 13
- #define F1 315
- #define F2 316
- #define F3 317
- #define F4 318
- #define F5 319
- #define F6 320
- #define F7 321
- #define F8 322
- #define F9 323
- #define F10 324
-
- /* número de marcos y teclas */
- #define NUM_MARCOS 8
- #define NUM_TECLAS 49
-
- /* texto maximo por tecla */
- #define MAX_TEXTO 15
-
- /* estados de la tecla */
- #define ON 1
- #define OFF 0
-
- /* definicion de una tecla */
- struct TECLA
- {
- int x;int y; /* coordenadas (x,y) superior izquierda */
- int ancho;int alto; /* ancho y alto de la tecla */
- char e; /* estado de la tecla */
- char texto[MAX_TEXTO]; /* texto de la tecla */
- };
-
- /* estructura para lectura de eventos */
- struct EVENTO
- {
- int x; /* coordenadas de pulsación del ratón */
- int y;
- int e; /* evento leído */
- };
-
- /* estructura de acciones a realizar */
- struct ACCION
- {
- int opcion; /* opción a realizar */
- int tipo; /* tipo de fichero (Formato gráfico */
- char fichero[80]; /* fichero actual sobre el que se actúa */
- };
-
- /* colores de las teclas en modo 16 colores VGA,VGAHI*/
- #define c1 WHITE
- #define c2 BLACK
- #define c3 LIGHTGRAY
- #define c4 DARKGRAY
- #define c5 DARKGRAY
- #define c6 LIGHTGRAY
- #define c7 LIGHTBLUE
-
- /* marcos y teclas definidos */
- extern struct TECLA marcos[NUM_MARCOS];
- extern struct TECLA teclas[NUM_TECLAS];
-
- /* dibujar una tecla */
- extern void TECLAponer(struct TECLA *t);
-
- /* resaltar una tecla */
- extern void TECLAresaltar(struct TECLA *t);
-
- /* activar una tecla */
- extern void TECLAactivar(struct TECLA *t);
-
- /* desactivar una tecla */
- extern void TECLAdesactivar(struct TECLA *t);
-
- /* escribir un mensaje */
- extern void MENSAJEponer(int x,int y,int ancho,char *texto);
-
- /* escribir mesaje en la línea de estado */
- extern void ESTADOponer(char *texto);
-
- /* limpiar la línea de estado */
- extern void ESTADOquitar(void);
-
- /* escribir un texto sobre el fondo actual */
- extern void TEXTOponer(int x,int y,char *texto);
-
- /* escribir un texto, resaltándolo sobre un rectángulo */
- extern void TEXTOresaltar(int x,int y,int ancho,char *texto);
-
- /* Leer una serie de caracteres del dispositivo de entrada */
- extern char *LeerCadena(int x,int y,int ancho,char *cad);
-
- /* Leer un evento: Pulsación de tecla o botón del ratón */
- extern struct EVENTO leer_evento(struct EVENTO evento);
-
- /* Determinar que tecla o area se ha pulsado con el ratón */
- extern int TestTecla(int x,int y);